package com.binance.mbxgateway.vo.request.order;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;

import com.binance.master.commons.ToString;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@ApiModel(value = "下单对象", description = "除了同于注解标识的非空属性外，限价单时属性price不能为空；止盈止损单时price和stopPrice不能为空。")
@Getter
@Setter
public class PlaceOrderRequest extends ToString {

    /**
     * 
     */
    private static final long serialVersionUID = 1519729030268737898L;

    @ApiModelProperty(required = true)
    @NotEmpty
    private String userId;
    @ApiModelProperty(required = true)
    @NotNull
    private String symbol;
    @ApiModelProperty(required = true)
    @NotEmpty
    private String side;
    @ApiModelProperty(required = true)
    @NotEmpty
    private String type;
    @ApiModelProperty(required = true)
    @NotNull(message = "order.amount_empty")
    private Double quantity;
    @ApiModelProperty
    private Double price;
    @ApiModelProperty
    private Double stopPrice;
    @ApiModelProperty
    private Long orderId;
    @ApiModelProperty
    private Boolean active;

}
